/*
  import 变量名 from 模块名  => ES6的模块加载语法
  -> 该语法使用了ES6的语法对NODE语法的模块导入方法（require）进行了 功能的封装
  -> import 变量名 from path;  path 变量同样遵循 require(path) 取值特性
  -> import from 可以直接获取到模块导出的返回结果
  -> 在当前环境下如果直接使用 require() , 会将模块的导出结果包装成对象进行返回
*/
import Vue from 'vue'
// console.log(Vue);
// const aa = require("vue")
// console.log(aa);

// 加载和当前文件属于同目录的 App.vue
// 返回的是一个vue实例的 $options 配置对象
import App from './App.vue'
// console.log(App);

// Vue的全局环境配置
// 关闭了产品控制台提示
Vue.config.productionTip = false;
// 调整开发工具
Vue.config.devtools=true;


// process vue模块化项目提供的 在所有组件或JS文件中都可以直接访问的全局对象
// process 是项目启动时环境的相关定义
// process.env 存放了当前项目的环境描述
// process.env.NODE_ENV 跟随启动命令的变化发生变化 （运行环境的变化）
//      npm run serve     process.env.NODE_ENV = "development"  开发环境
//              package.json  devDependencies和dependencies 依赖
//              在开发运行时，不经需要加载浏览运行的相关依赖
//                           启动程序编译过程中的相关转换工具
//              npm install 模块 --save-dev | -D
//      npm run build     process.env.NODE_ENV = "production"   生产环境
//              package.json  dependencies 依赖
//              在启动生产编译时，会在编译过程中调用一次devDependencies依赖
//              生成后续运行时，不再需要devDependencies依赖的静态文件
//              会只讲 dependencies 依赖打包到整合JS文件中
//              npm install 模块 --save | -S

// console.log(process);
// console.log(process.env);
// console.log(process.env.NODE_ENV);

Vue.prototype.$baseUrl = process.env.NODE_ENV==="development"?"/api":"http://127.0.0.1:80";

import plugins from './plugins';
import directives from './directives'
Vue.use(plugins);
Vue.use(directives);

import api from './api'
Vue.use(api);

import globalComponents from './globalComponents'
Vue.use(globalComponents);

// 1、项目根实例
//    -> 为项目提供 功能扩展对象
// 2、组件根实例
//    -> 为项目管理组件构成关系
new Vue({
  render: h => h(App),
}).$mount('#app')
// new Vue({
//   el:"#app",
//   render: createElement=>{
//     return createElement(App);
//   },
// })



